package com.syj.collect.utils;

import android.content.Context;
import android.preference.PreferenceManager;

import com.syj.collect.app.MyApplication;

/**
 * SharePreference工具类
 * Created by Administrator on 2016/6/29.
 */
public class SPUtil {

    public static String getPrefString(Context context, String key, String defaultValue) {
        if (context != null) {
            return PreferenceManager.getDefaultSharedPreferences(context).getString(key, defaultValue);
        }
        return defaultValue;
    }

    public static String getPrefString(String key, String defaultValue) {
        return PreferenceManager.getDefaultSharedPreferences(MyApplication.context).getString(key, defaultValue);
    }

    public static void setPrefString(String key, String value) {

        PreferenceManager.getDefaultSharedPreferences(MyApplication.context).edit().putString(key, value).commit();

    }

    public static void setPrefString(Context context, String key, String value) {
        if (context != null) {
            PreferenceManager.getDefaultSharedPreferences(context).edit().putString(key, value).commit();
        }
    }

    public static boolean getPrefBoolean(Context context, String key, boolean defaultValue) {
        if (context != null) {
            return PreferenceManager.getDefaultSharedPreferences(context).getBoolean(key, defaultValue);
        }
        return defaultValue;
    }

    public static void setPrefBoolean(Context context, String key, boolean value) {
        if (context != null) {
            PreferenceManager.getDefaultSharedPreferences(context).edit().putBoolean(key, value).commit();
        }

    }

    public static void setPrefInt(Context context, String key, int value) {
        if (context != null) {
            PreferenceManager.getDefaultSharedPreferences(context).edit().putInt(key, value).commit();
        }

    }

    public static int getPrefInt(Context context, String key, int defaultValue) {
        if (context != null) {
            return PreferenceManager.getDefaultSharedPreferences(context).getInt(key, defaultValue);
        }
        return defaultValue;
    }

    public static void setPrefFloat(Context context, String key, float value) {
        if (context != null) {
            PreferenceManager.getDefaultSharedPreferences(context).edit().putFloat(key, value).commit();
        }

    }

    public static float getPrefFloat(Context context, String key, float defaultValue) {
        if (context != null) {
            return PreferenceManager.getDefaultSharedPreferences(context).getFloat(key, defaultValue);
        }
        return defaultValue;
    }

    public static void setSettingLong(Context context, String key, long value) {
        if (context != null) {
            PreferenceManager.getDefaultSharedPreferences(context).edit().putLong(key, value).commit();
        }

    }

    public static long getPrefLong(Context context, String key, long defaultValue) {
        if (context != null) {
            return PreferenceManager.getDefaultSharedPreferences(context).getLong(key, defaultValue);
        }
        return defaultValue;
    }

    /**
     * 判断该数据是否存在
     *
     * @param context
     * @param key
     * @return
     */
    public static boolean hasKey(Context context, String key) {
        if (context != null) {
            return PreferenceManager.getDefaultSharedPreferences(context).contains(key);
        }
        return false;
    }

    /**
     * 清除指定数据
     *
     * @param context
     * @param key
     */
    public static void clearKeyValue(Context context, String key) {
        if (context != null) {
            PreferenceManager.getDefaultSharedPreferences(context).edit().remove(key).commit();
        }

    }

    /**
     * 清除所有数据
     *
     * @param context
     * @param
     */
    public static void clearPreference(Context context) {
        if (context != null) {
            PreferenceManager.getDefaultSharedPreferences(context).edit().clear().commit();
        }

    }

    /**
     * 获取本工具类生成的sharePreference的文件名
     *
     * @param context
     * @return
     */
    public static String getSharePreferenceName(Context context) {
        if (context != null) {
            return context.getPackageName() + "_preferences";
        }
        return null;
    }


}
